This application claims priority to Italian Application SN RM2001A000298 filed May 31, 2001.
The present invention relates generally to ROM operation, and more specifically to a programmable via mask for ROM encoding.
Decoders are used in read only memories to decode input data for presentation to the ROM to allow the ROM to execute an operation programmed into the ROM if the proper input sequence of data is presented.
There are several problems with making a decoders. In some decoders, a microcontroller gives a sequence or coding to enter a specific operation which is encoded into a read only memory (ROM) and the enabling circuitry for the ROM. Such specific operations include by way of example read array, read configuration register, program, erase, suspend, and the like.
A command user interface (CUI) is a state machine that recognizes multi-cycle microprocessor commands. The commands are entered using multi-clock cycle operations. For each cycle, the CUI changes state depending upon the current inputs and the decoding of the previous state of the system. A typical CUI implementation is one which is based in logic gate network syntheses starting from circuit equations and automated layout generation. While this method provides fast solutions for layout generation, it is very inflexible. If even one command equation changes, the entire circuit layout and subsequent generation flow must also be re-executed. This results in significant delays in production. When delays in production occur, money is lost.
Common state machines used for decoding include Mealy and Moore Model state machines.
In one embodiment, a command user interface includes a decoder having a series of transistors whose gates are selectively coupled to receive either an input or its complement using vias, a read only memory, and a number of latches to latch input and output data for the command user interface.
In another embodiment, a programmable decoder includes a first decoder section having a number of transistors connected in series. The gates of the transistors are selectively coupled to receive either an input or its complement from one of a pair of contacts. Each contact is coupled to the input or to the complement of the input.
In another embodiment, a method of changing a command definition of a decoder includes changing only via locations in an insulating layer, wherein a via location defines a contact to which a gate of a transistor is coupled.
In yet another embodiment, a method of programming a decoder includes fabricating a number of series connected transistors, and fabricating a pair of contacts for each transistor. Each contact is hard wired to either an input or a complement of the input, and the gate of each transistor is selectively coupled to one of its pair of contacts.
Other embodiments are described and claimed.